'use strict';
(function(){
  var baseImageUrl = 'http://static.winnovator.cn/scale/19/';

  var ratef = function(v){
    var tv = (((v +6)/(12)+0.1)*100).toFixed(1);
    if(tv > 100){
      return 100;
    }
    return tv;

  };
  function getRandomNum(Min,Max)
  {
    var Range = Max - Min;
    var Rand = Math.random();
    return(Min + Math.round(Rand * Range));
  }

  var userSelectedSerial = {};

  //获得试题的各个维度的得分
  function qDimResult(qId,qAnswerArr){

    var dimResult = [];
    _.each(qAnswerArr, function(oneAid){
      var one = _answerDims[oneAid];
      _.each(one, function(oneDim){
        dimResult[oneDim.name - 1] = oneDim.value;
      });
    });
    return dimResult;

  }
  window.roundDataUtil = {
    currentQuestion:function(){
      return currentQuestion;
    },
    getNext: function(answerId){ //根据已有的答题序列获得下一提
      if(answerId === null){//针对用户没有选择的时候
        answerId = currentQuestion.answers[0].id;
        console.log("用户没有选择，默认为：" + answerId);
      }

      var oneAnswer = _answers[answerId];
      var nextItem = oneAnswer.next;
      var data = null;
      var questionIndex = -1;
      if(nextItem.type === 'q'){
        data = questions_map[nextItem.id];
        currentQuestion = data;
        //获得下一题目的索引值
        for(var i = 0 ; i < _questions.length ; i ++){
          var oneQuestoin = _questions[i];
          if(oneQuestoin.id == nextItem.id){
            questionIndex = i;
            break;
          }
        }
      }else{
        //答题结果
        //从特定的题型中解析该试题的维度


        //拿到用户的答题序列
        var dimResultArr = [];
        _.each(_.values(userSelectedSerial),function(oneArr){
          dimResultArr.push(qDimResult(null,oneArr));
        });
        var answerDimsList = [];//各个维度数组的总和
        for(var i = 0; i < 5; i++){
          var tempSum = 0;
          _.each(dimResultArr,function(oneDimResult){
            if(oneDimResult[i]){
              tempSum += oneDimResult[i];
            }
          });

        //   console.log('tempSum:: ' +tempSum);
          answerDimsList[i] = tempSum;
        }

        //根据各个维度获得结果
        var data = null;
        for(var i = 0; i < resultDescData.length; i++){
          var tmpDesc = resultDescData[i];
// console.log(answerDimsList);
          if(tmpDesc.check(answerDimsList)){
            data = tmpDesc.getResult(answerDimsList);
            break;
          }
        }

        // console.log(answerDimsList);

        if(data === null){
          data = resultDescData[1].getResult([1,1,1,1,1]);
        }
      }

      return {
        type: nextItem.type,
        data:data,
        pageIndex: questionIndex
      }

    },
    selectItem: function(qid, selectSerial){
    //   console.log(qid);
    //   console.log(selectSerial);
      userSelectedSerial[qid] = selectSerial;
    },
    getUserSelectResult: function(){
      return userSelectedSerial;
    }
  }

  var _questions = [
    {
      'id': 'q1',
      'caption': '做饭符合家庭的口味，且注意营养搭配',
      'img_src': baseImageUrl + '1.jpg',
      'imgWidth': 650,'imgHeight': 310,
      'answers': [
        {'id':'a11', 'caption': '非常不符合', 'next':{'type':'q','id':'q2'}},
        {'id':'a12', 'caption': '有点不符合', 'next':{'type':'q','id':'q2'}},
        {'id':'a13', 'caption': '比较符合', 'next':{'type':'q','id':'q2'}},
        {'id':'a14', 'caption': '非常符合', 'next':{'type':'q','id':'q2'}}
      ]
    },
    {
      'id': 'q2',
      'caption': '具有良好的卫生习惯和一定的医学或护理知识',
      'img_src': baseImageUrl + '2.jpg',
      'imgWidth': 650,'imgHeight': 310,
      'answers': [
        {'id':'a21', 'caption': '非常不符合', 'next':{'type':'q','id':'q3'}},
        {'id':'a22', 'caption': '有点不符合', 'next':{'type':'q','id':'q3'}},
        {'id':'a23', 'caption': '比较符合', 'next':{'type':'q','id':'q3'}},
        {'id':'a24', 'caption': '非常符合', 'next':{'type':'q','id':'q3'}}
      ]
    },
    {
      'id': 'q3',
      'caption': '具有一定的育儿经验',
      'img_src': baseImageUrl + '3.jpg',
      'imgWidth': 650,'imgHeight': 310,
      'answers': [
        {'id':'a31', 'caption': '非常不符合', 'next':{'type':'q','id':'q4'}},
        {'id':'a32', 'caption': '有点不符合', 'next':{'type':'q','id':'q4'}},
        {'id':'a33', 'caption': '比较符合', 'next':{'type':'q','id':'q4'}},
        {'id':'a34', 'caption': '非常符合', 'next':{'type':'q','id':'q4'}}
      ]
    },
    {
      'id': 'q4',
      'caption': '在公共场合大声说话',
      'img_src': baseImageUrl + '4.jpg',
      'imgWidth': 650,'imgHeight': 310,
      'answers': [
        {'id':'a41', 'caption': '非常不符合', 'next':{'type':'q','id':'q5'}},
        {'id':'a42', 'caption': '有点不符合', 'next':{'type':'q','id':'q5'}},
        {'id':'a43', 'caption': '比较符合', 'next':{'type':'q','id':'q5'}},
        {'id':'a44', 'caption': '非常符合', 'next':{'type':'q','id':'q5'}}
      ]
    },
    {
      'id': 'q5',
      'caption': '尊重规则（如不闯红灯、不打包自助餐）',
      'img_src': baseImageUrl + '5.jpg',
      'imgWidth': 650,'imgHeight': 310,
      'answers': [
        {'id':'a51', 'caption': '非常不符合', 'next':{'type':'q','id':'q6'}},
        {'id':'a52', 'caption': '有点不符合', 'next':{'type':'q','id':'q6'}},
        {'id':'a53', 'caption': '比较符合', 'next':{'type':'q','id':'q6'}},
        {'id':'a54', 'caption': '非常符合', 'next':{'type':'q','id':'q6'}}
      ]
    },
    {
      'id': 'q6',
      'caption': '做事积极主动，不玩手机、拖时间',
      'img_src': baseImageUrl + '6.jpg',
      'imgWidth': 650,'imgHeight': 310,
      'answers': [
        {'id':'a61', 'caption': '非常不符合', 'next':{'type':'q','id':'q7'}},
        {'id':'a62', 'caption': '有点不符合', 'next':{'type':'q','id':'q7'}},
        {'id':'a63', 'caption': '比较符合', 'next':{'type':'q','id':'q7'}},
        {'id':'a64', 'caption': '非常符合', 'next':{'type':'q','id':'q7'}}
      ]
    },
    {
      'id': 'q7',
      'caption': '给人随意贴标签，在背后说人话坏',
      'img_src': baseImageUrl + '7.jpg',
      'imgWidth': 650,'imgHeight': 310,
      'answers': [
        {'id':'a71', 'caption': '非常不符合', 'next':{'type':'q','id':'q8'}},
        {'id':'a72', 'caption': '有点不符合', 'next':{'type':'q','id':'q8'}},
        {'id':'a73', 'caption': '比较符合', 'next':{'type':'q','id':'q8'}},
        {'id':'a74', 'caption': '非常符合', 'next':{'type':'q','id':'q8'}}
      ]
    },
    {
      'id': 'q8',
      'caption': '有时间观念，并能督促孩子守时',
      'img_src': baseImageUrl + '8.jpg',
      'imgWidth': 650,'imgHeight': 310,
      'answers': [
        {'id':'a81', 'caption': '非常不符合', 'next':{'type':'q','id':'q9'}},
        {'id':'a82', 'caption': '有点不符合', 'next':{'type':'q','id':'q9'}},
        {'id':'a83', 'caption': '比较符合', 'next':{'type':'q','id':'q9'}},
        {'id':'a84', 'caption': '非常符合', 'next':{'type':'q','id':'q9'}}
      ]
    },
    {
      'id': 'q9',
      'caption': '在遇到关于孩子教育的问题时主动和父母沟通，不自作主张',
      'img_src': baseImageUrl + '9.jpg',
      'imgWidth': 650,'imgHeight': 310,
      'answers': [
        {'id':'a91', 'caption': '非常不符合', 'next':{'type':'q','id':'q10'}},
        {'id':'a92', 'caption': '有点不符合', 'next':{'type':'q','id':'q10'}},
        {'id':'a93', 'caption': '比较符合', 'next':{'type':'q','id':'q10'}},
        {'id':'a94', 'caption': '非常符合', 'next':{'type':'q','id':'q10'}}
      ]
    },{
      'id': 'q10',
      'caption': '在孩子遇到冲突或矛盾的时候能正确地引导',
      'img_src': baseImageUrl + '10.jpg',
      'imgWidth': 650,'imgHeight': 310,
      'answers': [
        {'id':'a101', 'caption': '非常不符合', 'next':{'type':'r','id':'c'}},
        {'id':'a102', 'caption': '有点不符合', 'next':{'type':'r','id':'c'}},
        {'id':'a103', 'caption': '比较符合', 'next':{'type':'r','id':'c'}},
        {'id':'a104', 'caption': '非常符合', 'next':{'type':'r','id':'c'}}
      ]
    }
  ];
  var _answerDims = {
    'a11': [{'name':1,'value':0}],
    'a12': [{'name':1,'value':1}],
    'a13': [{'name':1,'value':2}],
    'a14': [{'name':1,'value':3}],

    'a21': [{'name':1,'value':0}],
    'a22': [{'name':1,'value':1}],
    'a23': [{'name':1,'value':2}],
    'a24': [{'name':1,'value':3}],

    'a31': [{'name':1,'value':0}],
    'a32': [{'name':1,'value':1}],
    'a33': [{'name':1,'value':2}],
    'a34': [{'name':1,'value':3}],

    'a41': [{'name':2,'value':0}],
    'a42': [{'name':2,'value':-1}],
    'a43': [{'name':2,'value':-2}],
    'a44': [{'name':2,'value':-3}],

    'a51': [{'name':2,'value':0}],
    'a52': [{'name':2,'value':1}],
    'a53': [{'name':2,'value':2}],
    'a54': [{'name':2,'value':3}],

    'a61': [{'name':2,'value':0}],
    'a62': [{'name':2,'value':1}],
    'a63': [{'name':2,'value':2}],
    'a64': [{'name':2,'value':3}],

    'a71': [{'name':2,'value':0}],
    'a72': [{'name':2,'value':-1}],
    'a73': [{'name':2,'value':-2}],
    'a74': [{'name':2,'value':-3}],

    'a81': [{'name':3,'value':0}],
    'a82': [{'name':3,'value':1}],
    'a83': [{'name':3,'value':2}],
    'a84': [{'name':3,'value':3}],

    'a91': [{'name':3,'value':0}],
    'a92': [{'name':3,'value':1}],
    'a93': [{'name':3,'value':2}],
    'a94': [{'name':3,'value':3}],

    'a101': [{'name':3,'value':0}],
    'a102': [{'name':3,'value':1}],
    'a103': [{'name':3,'value':2}],
    'a104': [{'name':3,'value':3}]
  };
  function findZhiyesuyang(val){
    if(val >= 5 && val <=9){
      return '她具有较强的基本职业素养，能较好地照顾家庭的饮食和卫生；';
    }else{
      return '她在基本职业素养方面有一些欠缺，但基本能满足家庭的饮食和卫生需要；';
    }
  }
  function findXingweixiguan(val){
    if(val >= 7 && val <=12){
      return '同时，她也有良好的文明习惯，尊重规则，也会考虑他人的感受，孩子的学习和模仿能力是很强的，一些良好的行为习惯会让孩子受益匪浅。';
    }else{
      return '你可能需要注意一下保姆的一些不好的文明习惯，因为孩子的学习和模仿能力是很强的，家庭成员的任何言行都可能潜移默化地对孩子产生影响。';
    }
  }
  function findJiaoyuhaizi(val){
    if(val >= 5 && val <=9){
      return '相对来说，你家的保姆比较重视孩子的教育问题，会有意识地引导孩子，也会在教育问题上主动和父母先沟通。';
    }else{
      return '相对来说，你家的保姆对孩子的教育没有那么重视，有时对于孩子缺乏一些好的引导，有时可能会凭借自己的经验教育孩子而疏忽了与父母的沟通。';
    }
  }
  var resultDescData =
    [
      {
        check:function(dimList){
          var sum = _.reduce(dimList, function(memo, num){ return memo + num; }, 0);

          if(sum >= 20){
            return true;
          }
          return false;
        },
        getResult: function(dimList){

          return {
            id : 'r1',
            title:'金牌保姆',
            rate:0,
            desc:'' +
            '<h4>' +
            '你家的保姆是金牌保姆。' +
            findZhiyesuyang(dimList[0]) +
            findXingweixiguan(dimList[1])+
            findJiaoyuhaizi(dimList[2]) +
            '</h4>',
            url: baseImageUrl + 'result.jpg'
          }
        }
      },
      {
        check:function(dimList){
          var sum = _.reduce(dimList, function(memo, num){ return memo + num; }, 0);

          if(sum >= 11 && sum <= 19){
            return true;
          }
          return false;
        },
        getResult: function(dimList){

          return {
            id : 'r2',
            title:'银牌保姆',
            rate:0,
            desc:'' +
            '<h4>' +
            '你家的保姆是银牌保姆。' +
            findZhiyesuyang(dimList[0]) +
            findXingweixiguan(dimList[1])+
            findJiaoyuhaizi(dimList[2]) +
            '</h4>',
            url: baseImageUrl + 'result.jpg'
          }
        }
      },
      {
        check:function(dimList){
          var sum = _.reduce(dimList, function(memo, num){ return memo + num; }, 0);

          if(sum <= 10){
            return true;
          }
          return false;
        },
        getResult: function(dimList){

          return {
            id : 'r3',
            title:'铜牌保姆',
            rate:0,
            desc:'' +
            '<h4>' +
            '你家的保姆是铜牌保姆。' +
            findZhiyesuyang(dimList[0]) +
            findXingweixiguan(dimList[1])+
            findJiaoyuhaizi(dimList[2]) +
            '</h4>',
            url: baseImageUrl + 'result.jpg'
          }
        }
      }
    ];

  var currentQuestion = _questions[0];
  var _answers = _.indexBy(
      _.reduceRight(
        _.map(_questions, function(q){return q.answers}),
        function(a, b) { return a.concat(b); }, []),
      function(one){return one.id;}
  );
  var questions_map = _.indexBy(_questions, function(one){return one.id;});
  //var result_map = _.indexBy(resultDescData, function(one){return one.id;});
window.yoparentData = {
  'id':19,
  'qType':'single-choice',
  'cate_id': '1',
  'title': '你会给你家的保姆打多少分 | 优儿学堂',
  'imgSrc': baseImageUrl + 'face.jpg?t=' + Math.random(),
  'imgWidth': 650,'imgHeight': 310,
  'description': '保姆/阿姨作为家庭的外生成员，在孩子的成长中有重要的作用，同时也会对孩子的心智发展产生潜移默化的影响哦，你会给你家的保姆打多少分呢？如何对保姆做出客观评价呢？试试这个测试吧！（请爸爸妈妈根据保姆平时的行为做出客观评价）'+
  '<br /><br />' +
  '本测试由优儿学堂独家开发，未经许可不得转载！',
  'isCheckResult':false,
  'showCheckResult':false,
  'share': {
    'title': '获得幸福的超能力：儿童正念力小游戏 | 优儿学堂',
    'description':''
  },
  'questions': _questions,
  'tpl': 'default'
};
})();
